#ifndef _COMMENT_H
#define _COMMENT_H
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <malloc.h>
#include <string.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/epoll.h>
#include <sqlite3.h>
#include <signal.h>
#include <stdlib.h>

#define MSG_BUF_SIZE 1024

//消息的意图/类型
#define REGISTER 1 //注册
#define LOGIN 2 //登录
#define CHAT 3 //聊天
#define CHAT_GROUP 4 //群聊
#define MODIFY_PWD 5 //修改密码
#define SINGEL_GROUP 6 //查看个人群记录
#define SINGEL_CHAT 7 //查看个人单聊记录
#define LOGOUT 0 //退出系统

#define OK 100
#define NO 101

typedef struct netNode
{
     unsigned char type;//消息的类型
     char content[MSG_BUF_SIZE-1];//消息的内容
}NETNODE;

typedef struct userInfo
{
     char name[128];//用户的账号名
     char pwd[128];//密码
     char tel[12];//手机号
}USERINFO;

typedef struct queryResult
{
     char ** ppResult;
     int row;
     int col;
}QUERYRESULT;

//在线用户的结构体
typedef struct online
{
     char name[128];//在线用户的名字
     int fd;//在线用户的套接字
}ONLINE;

typedef struct chat_node
{
     char self[128];//自己的名字
     char dest[128];//对方的名字
     char text[700];//聊天的内容
     char datetime[32];
}CHAT_NODE;
//群聊记录
typedef struct gchat_node
{
     char self[128];//自己的名字
     char dest[128];//对方的名字
     char text[700];//聊天的内容
}GCHAT_NODE;
//表内容记录
typedef struct table_record
{
     char self[128];//自己的名字
     char dest[128];//对方的名字
     char text[700];//聊天的内容
     char datatime[32];
}TC;
#endif